home *** CD-ROM | disk | FTP | other *** search
- // Borland C++ Builder
- // Copyright (c) 1995, 1998 by Borland International
- // All rights reserved
-
- // (DO NOT EDIT: machine generated header) 'DBCommon.pas' rev: 3.00
-
- #ifndef DBCommonHPP
- #define DBCommonHPP
- #include <Bde.hpp>
- #include <Db.hpp>
- #include <Classes.hpp>
- #include <Windows.hpp>
- #include <SysInit.hpp>
- #include <System.hpp>
-
- //-- user supplied -----------------------------------------------------------
-
- namespace Dbcommon
- {
- //-- type declarations -------------------------------------------------------
- enum TExprNodeKind { enField, enConst, enOperator };
-
- struct TExprNode;
- typedef TExprNode *PExprNode;
-
- struct TExprNode
- {
- TExprNode *FNext;
- TExprNodeKind FKind;
- bool FPartial;
- CANOp FOperator;
- System::Variant FData;
- TExprNode *FLeft;
- TExprNode *FRight;
- } ;
-
- class DELPHICLASS TFilterExpr;
- class PASCALIMPLEMENTATION TFilterExpr : public System::TObject
- {
- typedef System::TObject inherited;
-
- private:
- Db::TDataSet* FDataSet;
- Db::TFilterOptions FOptions;
- TExprNode *FNodes;
- Bde::CANExpr *FExprBuffer;
- int FExprBufSize;
- int FExprNodeSize;
- int FExprDataSize;
- Db::TField* __fastcall FieldFromNode(PExprNode Node);
- char * __fastcall GetExprData(int Pos, int Size);
- int __fastcall PutCompareNode(PExprNode Node);
- int __fastcall PutConstBCD(const System::Variant &Value, int Decimals);
- int __fastcall PutConstBool(const System::Variant &Value);
- int __fastcall PutConstDate(const System::Variant &Value);
- int __fastcall PutConstDateTime(const System::Variant &Value);
- int __fastcall PutConstFloat(const System::Variant &Value);
- int __fastcall PutConstInt(int DataType, const System::Variant &Value);
- int __fastcall PutConstNode(int DataType, char * Data, int Size);
- int __fastcall PutConstStr(const System::AnsiString Value);
- int __fastcall PutConstTime(const System::Variant &Value);
- int __fastcall PutData(char * Data, int Size);
- int __fastcall PutExprNode(PExprNode Node);
- int __fastcall PutFieldNode(Db::TField* Field);
- int __fastcall PutNode(Bde::NODEClass NodeType, Bde::CANOp OpType, int OpCount);
- void __fastcall SetNodeOp(int Node, int Index, int Data);
-
- public:
- __fastcall TFilterExpr(Db::TDataSet* DataSet, Db::TFilterOptions Options);
- __fastcall virtual ~TFilterExpr(void);
- PExprNode __fastcall NewCompareNode(Db::TField* Field, Bde::CANOp Operator, const System::Variant &
- Value);
- PExprNode __fastcall NewNode(TExprNodeKind Kind, Bde::CANOp Operator, const System::Variant &Data,
- PExprNode Left, PExprNode Right);
- Bde::pCANExpr __fastcall GetFilterData(PExprNode Root);
- };
-
- enum TExprToken { etEnd, etSymbol, etName, etLiteral, etLParen, etRParen, etEQ, etNE, etGE, etLE, etGT,
- etLT };
-
- class DELPHICLASS TExprParser;
- class PASCALIMPLEMENTATION TExprParser : public System::TObject
- {
- typedef System::TObject inherited;
-
- private:
- TFilterExpr* FFilter;
- System::AnsiString FText;
- char *FSourcePtr;
- char *FTokenPtr;
- System::AnsiString FTokenString;
- System::AnsiString FStrTrue;
- System::AnsiString FStrFalse;
- TExprToken FToken;
- Bde::CANExpr *FFilterData;
- int FDataSize;
- void __fastcall NextToken(void);
- PExprNode __fastcall ParseExpr(void);
- PExprNode __fastcall ParseExpr2(void);
- PExprNode __fastcall ParseExpr3(void);
- PExprNode __fastcall ParseExpr4(void);
- PExprNode __fastcall ParseExpr5(void);
- System::AnsiString __fastcall TokenName(void);
- bool __fastcall TokenSymbolIs(const System::AnsiString S);
-
- public:
- __fastcall TExprParser(Db::TDataSet* DataSet, const System::AnsiString Text, Db::TFilterOptions Options
- );
- __fastcall virtual ~TExprParser(void);
- __property Bde::pCANExpr FilterData = {read=FFilterData};
- __property int DataSize = {read=FDataSize, nodefault};
- };
-
- class DELPHICLASS TMasterDataLink;
- class PASCALIMPLEMENTATION TMasterDataLink : public Db::TDataLink
- {
- typedef Db::TDataLink inherited;
-
- private:
- Db::TDataSet* FDataSet;
- System::AnsiString FFieldNames;
- Classes::TList* FFields;
- Classes::TNotifyEvent FOnMasterChange;
- Classes::TNotifyEvent FOnMasterDisable;
- void __fastcall SetFieldNames(const System::AnsiString Value);
-
- protected:
- virtual void __fastcall ActiveChanged(void);
- virtual void __fastcall CheckBrowseMode(void);
- virtual void __fastcall LayoutChanged(void);
- virtual void __fastcall RecordChanged(Db::TField* Field);
-
- public:
- __fastcall TMasterDataLink(Db::TDataSet* DataSet);
- __fastcall virtual ~TMasterDataLink(void);
- __property System::AnsiString FieldNames = {read=FFieldNames, write=SetFieldNames};
- __property Classes::TList* Fields = {read=FFields};
- __property Classes::TNotifyEvent OnMasterChange = {read=FOnMasterChange, write=FOnMasterChange};
- __property Classes::TNotifyEvent OnMasterDisable = {read=FOnMasterDisable, write=FOnMasterDisable};
-
- };
-
- //-- var, const, procedure ---------------------------------------------------
- extern PACKAGE Byte FldTypeMap[23];
- extern PACKAGE Word FldSubTypeMap[23];
- extern PACKAGE TFieldType DataTypeMap[18];
- extern PACKAGE TFieldType BlobTypeMap[7];
- extern PACKAGE System::Variant __fastcall SafeArrayToVariant(System::PVarArray SafeArray);
- extern PACKAGE bool __fastcall FMTBCDToCurr(const Bde::FMTBcd &BCD, System::Currency &Curr);
- extern PACKAGE bool __fastcall CurrToFMTBCD(System::Currency Curr, Bde::FMTBcd &BCD, int Precision,
- int Decimals);
-
- } /* namespace Dbcommon */
- #if !defined(NO_IMPLICIT_NAMESPACE_USE)
- using namespace Dbcommon;
- #endif
- //-- end unit ----------------------------------------------------------------
- #endif // DBCommon
-